The present invention relates to a system for decoding a high density multiple bar code from a record medium at a high rate of speed and more particularly, relates to a bar code decoding system which includes a NMOS/LSI chip for increasing the rate of obtaining valid read operations used in decoding a UPC bar code label.
The use of bar coded symbols or labels intended to be read by optical scanning equipment as a means for identifying new data useful in processing items sold in a retail industry has been widely accepted to the point that a particular bar code known as the Universal Product Code (UPC) has been established as the industry standard for the grocery and other related retail industries. In a multiple bar code, such as the UPC, each decimal number or numerical character is represented by two pairs of vertical bars and spaces within a 7-bit pattern wherein a binary 1 bit represents a dark module or bar of a predetermined width and the binary 0 bit represents a light module or a space. Thus, the decimal or character 1 may be represented in the UPC code by the 7-bit pattern 0011001. In keeping with the format, the decimal 1 would be comprised of an initial space of a 2-bit width, followed by 2-bit wide bar, another 2-bit space and a 1-bit wide bar. For each character or decimal of the system there are two bars and two spaces which have a total width of 7 modules or bits. The width of each of the bars or spaces which comprise a character may be 1, 2, 3 or 4 modules wide as long as the sum of the bars and spaces is seven bits or modules wide.
A multiple bar code, such as the UPC, is normally read by an optical scanner which may take the form of a hand-held wand or a scanner mechanism located in a checkout counter. The optical scanner will scan the bar code pattern and generate signals representing the bars and spaces for transmission to the processing apparatus which determines the character represented by the bar code pattern.
Prior optical readers generally store the electrical signals generated as a result of scanning the bar code pattern until the accumulated signals stored are sufficient to allow the processing apparatus to initiate a recognition operation to determine the character represented by the scanned bar code pattern. Because of the speed in which the scanning operation is performed, the scanning operation has to be repeated until the accumulated signals represents a full bar code label. A typical scanning operation will generate signals representing a portion of the bar code label which, in prior optical readers, were ignored until the scanning operation produced signals representing at least one-half of the bar code label. It therefore took several scanning operations to read a bar code label, which delayed the completion of the checkout operation. Prior optical reader decoding systems were hardwired in their construction and were therefore unable to change the decoding system where different types of coded labels were to be read. With the availability of faster processors, prior bar code readers were unable to process the amount of data that was being generated which limited the speed of the checkout operation.